export class Environment
{
public Title: string;
public Code: string;
public constructor(init?: Partial<Environment>) { (Object as any).assign(this, init); }
}
export class Party
{
public Title: string;
public Code: string;
public Version: string;
public Environment: Environment;
public constructor(init?: Partial<Party>) { (Object as any).assign(this, init); }
}
export class Header
{
public MessageID: string;
public Timestamp: string;
public Sender: Party;
public Recipient: Party;
public RequestMessageID: Object;
public constructor(init?: Partial<Header>) { (Object as any).assign(this, init); }
}
export class Reference
{
public GlobalID: string;
public Title: string;
public constructor(init?: Partial<Reference>) { (Object as any).assign(this, init); }
}
export class Address
{
public AddressLine1: string;
public AddressLine2: string;
public HouseNumber: string;
public HouseNumberSuffix: string;
public PostalCode: string;
public City: string;
public Country: Reference;
public constructor(init?: Partial<Address>) { (Object as any).assign(this, init); }
}
export class MailingAddress
{
public POBox: string;
public PostalCode: string;
public City: string;
public Country: Reference;
public constructor(init?: Partial<MailingAddress>) { (Object as any).assign(this, init); }
}
export class Project
{
public GlobalID: string;
public CreationDate?: string;
public CreatedBy: string;
public ModifiedDate?: string;
public ModifiedBy: string;
public Code: string;
public Name: string;
public Description1: string;
public Description2: string;
public Address: Address;
public MailingAddress: MailingAddress;
public ProjectCategoryReference: Reference;
public ProjectTypeReference: Reference;
public ProjectStatusReference: Reference;
public StartDate?: string;
public EndDate?: string;
public CompletionDate?: string;
public Inactive: boolean;
public Website: string;
public IsTemplateProject: boolean;
public CustomFields: CustomField[];
public constructor(init?: Partial<Project>) { (Object as any).assign(this, init); }
}
export class ProjectResponseMessage
{
public Header: Header;
public ProjectReference: Reference;
public Project: Project;
public HousingTypes: HousingType[];
public ConstructionBlocks: ConstructionBlock[];
public ConstructionNumbers: ConstructionNumber[];
public Documents: Document[];
public PurchaseContracts: PurchaseContract[];
public constructor(init?: Partial<ProjectResponseMessage>) { (Object as any).assign(this, init); }
}
export class ProjectRequestMessage
{
public Header: Header;
public ProjectReference: Reference;
public IncludeHousingTypes: boolean;
public IncludeConstructionBlocks: boolean;
public IncludeConstructionNumbers: boolean;
public IncludeDocuments: boolean;
public IncludePurchaseContracts: boolean;
public constructor(init?: Partial<ProjectRequestMessage>) { (Object as any).assign(this, init); }
}
export class ProcessProjectRequestMessage
{
public InstanceId: string;
public ProjectRequest: ProjectRequestMessage;
public constructor(init?: Partial<ProcessProjectRequestMessage>) { (Object as any).assign(this, init); }
}
export class CustomField
{
public Name: string;
public Value: string;
public constructor(init?: Partial<CustomField>) { (Object as any).assign(this, init); }
}
export class HousingType
{
public GlobalID: string;
public ProjectReference: Reference;
public Code: string;
public Description: string;
public CustomFields: CustomField[];
public CreationDate?: string;
public CreatedBy: string;
public ModifiedDate?: string;
public ModifiedBy: string;
public constructor(init?: Partial<HousingType>) { (Object as any).assign(this, init); }
}
export class ConstructionBlock
{
public GlobalID: string;
public ProjectReference: Reference;
public Code: string;
public Description: string;
public CustomFields: CustomField[];
public CreationDate?: string;
public CreatedBy: string;
public ModifiedDate?: string;
public ModifiedBy: string;
public constructor(init?: Partial<ConstructionBlock>) { (Object as any).assign(this, init); }
}
export class ConstructionNumber
{
public GlobalID: string;
public ProjectReference: Reference;
public HousingTypeReference: Reference;
public ConstructionBlockReference: Reference;
public Code: string;
public Description: string;
public Address: Address;
public RentalHouse: boolean;
public GuaranteeCertificateNumber: string;
public Inactive: boolean;
public CustomFields: CustomField[];
public CreationDate?: string;
public CreatedBy: string;
public ModifiedDate?: string;
public ModifiedBy: string;
public ViewingDate?: string;
public ViewingDateSpecified: boolean;
public DeliveryDate?: string;
public DeliveryDateSpecified: boolean;
public constructor(init?: Partial<ConstructionNumber>) { (Object as any).assign(this, init); }
}
export class Document implements ICustomProperties
{
public ID: string;
public RootDocumentID: string;
public RegistrationprofileID: string;
public Title: string;
public FullTitle: string;
public Number: string;
public Version: string;
public ExternalNumber: string;
public ExternalVersion: string;
public InternalNumber: string;
public InternalInvoiceNumber: string;
public PersonID: number;
public RelationID: number;
public RelationTitle: string;
public ProjectID: number;
public ProjectTitle: string;
public Extension: string;
public Date?: string;
public CommentsCount: number;
public HasComments: boolean;
public HasPreview: boolean;
public ExtraField: string;
public IsFavorite: boolean;
public DocumentcategoryText: string;
public FileSize?: number;
public FileDate?: string;
public Hash: string;
public HashType: string;
public FileUrl: string;
public StandardDocumentUrl: string;
public IsCorporateIdentity: boolean;
public UserTitle: string;
public IsFrozen: boolean;
public InternalCompanyID: number;
public DirectUrl: string;
public AllowDigitalSigningOnlyOnPrimaryVersions: boolean;
public IsPrimaryVersion: boolean;
public FileExtension: string;
public CustomProperties: { [index: string]: Object; };
public constructor(init?: Partial<Document>) { (Object as any).assign(this, init); }
}
export class Relation
{
public GlobalID: string;
public NameLine1: string;
public NameLine2: string;
public Address: Address;
public MailingAddress: MailingAddress;
public Telephone: string;
public Mobile: string;
public Email: string;
public IBAN: string;
public BankAccountNumber: string;
public Website: string;
public Inactive: boolean;
public CustomFields: CustomField[];
public CreationDate?: string;
public CreatedBy: string;
public ModifiedDate?: string;
public ModifiedBy: string;
public constructor(init?: Partial<Relation>) { (Object as any).assign(this, init); }
}
export class PurchaseContract
{
public GlobalID: string;
public Code: string;
public Description: string;
public ProjectReference: Reference;
public ProductCode: string;
public Relation: Relation;
public Inactive: boolean;
public CustomFields: CustomField[];
public CreationDate?: string;
public CreatedBy: string;
public ModifiedDate?: string;
public ModifiedBy: string;
public constructor(init?: Partial<PurchaseContract>) { (Object as any).assign(this, init); }
}
TypeScript ProcessProjectRequestMessage DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /xml/reply/ProcessProjectRequestMessage HTTP/1.1
Host: kpm_digiofficeapigateway.tbi.nl
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<ProcessProjectRequestMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
<InstanceId>00000000-0000-0000-0000-000000000000</InstanceId>
<ProjectRequest>
<Header>
<MessageID>String</MessageID>
<Recipient>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Recipient>
<RequestMessageID />
<Sender>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Sender>
<Timestamp>0001-01-01T00:00:00</Timestamp>
</Header>
<IncludeConstructionBlocks>false</IncludeConstructionBlocks>
<IncludeConstructionNumbers>false</IncludeConstructionNumbers>
<IncludeDocuments>false</IncludeDocuments>
<IncludeHousingTypes>false</IncludeHousingTypes>
<IncludePurchaseContracts>false</IncludePurchaseContracts>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</ProjectRequest>
</ProcessProjectRequestMessage>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<ProjectResponseMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DigiOffice.Integration.TBIXchangeAzure.Messages">
<ConstructionBlocks>
<ConstructionBlock>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</ConstructionBlock>
</ConstructionBlocks>
<ConstructionNumbers>
<ConstructionNumber>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<Code>String</Code>
<ConstructionBlockReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionBlockReference>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<DeliveryDate>0001-01-01T00:00:00</DeliveryDate>
<DeliveryDateSpecified>false</DeliveryDateSpecified>
<Description>String</Description>
<GlobalID>String</GlobalID>
<GuaranteeCertificateNumber>String</GuaranteeCertificateNumber>
<HousingTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</HousingTypeReference>
<Inactive>false</Inactive>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<RentalHouse>false</RentalHouse>
<ViewingDate>0001-01-01T00:00:00</ViewingDate>
<ViewingDateSpecified>false</ViewingDateSpecified>
</ConstructionNumber>
</ConstructionNumbers>
<Documents>
<Document>
<Code>String</Code>
<ConstructionBlockReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionBlockReference>
<ConstructionNumberReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ConstructionNumberReference>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<DeletedDate>0001-01-01T00:00:00</DeletedDate>
<DeletedDateSpecified>false</DeletedDateSpecified>
<DocumentTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</DocumentTypeReference>
<File>
<Content>String</Content>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<Name>String</Name>
<Size>0</Size>
<Type>String</Type>
</File>
<Floor>0</Floor>
<FloorSpecified>false</FloorSpecified>
<GlobalID>String</GlobalID>
<HousingTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</HousingTypeReference>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<NewestVersion>false</NewestVersion>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<RelationReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</RelationReference>
<RootDocumentID>String</RootDocumentID>
<Subject>String</Subject>
<VersionNumber>String</VersionNumber>
</Document>
</Documents>
<Header>
<MessageID>String</MessageID>
<Recipient>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Recipient>
<RequestMessageID />
<Sender>
<Code>String</Code>
<Environment>
<Code>String</Code>
<Title>String</Title>
</Environment>
<Title>String</Title>
<Version>String</Version>
</Sender>
<Timestamp>0001-01-01T00:00:00</Timestamp>
</Header>
<HousingTypes>
<HousingType>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
</HousingType>
</HousingTypes>
<Project>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<Code>String</Code>
<CompletionDate>0001-01-01T00:00:00</CompletionDate>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description1>String</Description1>
<Description2>String</Description2>
<EndDate>0001-01-01T00:00:00</EndDate>
<GlobalID>String</GlobalID>
<Inactive>false</Inactive>
<IsTemplateProject>false</IsTemplateProject>
<MailingAddress>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<POBox>String</POBox>
<PostalCode>String</PostalCode>
</MailingAddress>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<Name>String</Name>
<ProjectCategoryReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectCategoryReference>
<ProjectStatusReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectStatusReference>
<ProjectTypeReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectTypeReference>
<StartDate>0001-01-01T00:00:00</StartDate>
<Website>String</Website>
</Project>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<PurchaseContracts>
<PurchaseContract>
<Code>String</Code>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Description>String</Description>
<GlobalID>String</GlobalID>
<Inactive>false</Inactive>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<ProductCode>String</ProductCode>
<ProjectReference>
<GlobalID>String</GlobalID>
<Title>String</Title>
</ProjectReference>
<Relation>
<Address>
<AddressLine1>String</AddressLine1>
<AddressLine2>String</AddressLine2>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<HouseNumber>String</HouseNumber>
<HouseNumberSuffix>String</HouseNumberSuffix>
<PostalCode>String</PostalCode>
</Address>
<BankAccountNumber>String</BankAccountNumber>
<CreatedBy>String</CreatedBy>
<CreationDate>0001-01-01T00:00:00</CreationDate>
<CustomFields>
<CustomField>
<Name>String</Name>
<Value>String</Value>
</CustomField>
</CustomFields>
<Email>String</Email>
<GlobalID>String</GlobalID>
<IBAN>String</IBAN>
<Inactive>false</Inactive>
<MailingAddress>
<City>String</City>
<Country>
<GlobalID>String</GlobalID>
<Title>String</Title>
</Country>
<POBox>String</POBox>
<PostalCode>String</PostalCode>
</MailingAddress>
<Mobile>String</Mobile>
<ModifiedBy>String</ModifiedBy>
<ModifiedDate>0001-01-01T00:00:00</ModifiedDate>
<NameLine1>String</NameLine1>
<NameLine2>String</NameLine2>
<Telephone>String</Telephone>
<Website>String</Website>
</Relation>
</PurchaseContract>
</PurchaseContracts>
</ProjectResponseMessage>